package com.hilihili.domain.entity;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 评论对象 comment
 *
 * @author xhc
 * @date 2023-11-15
 */
public class Comment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

//    @Transient
//    private Integer pageNum;
//    @Transient
//    private Integer pageSize;

    @Transient
    private List<Comment> children;
    @Transient
    private Long replyTotalCount;
    @Transient
    private String target;
    @Transient
    private String nickName;
    @Transient
    private String avatar;
    @Transient
    private String sex;
    @Transient
    private Long follows;
    @Transient
    private Long fans;

    @Transient
    private String createdAtChange;

    @Transient
    private String talkCopy;

    // 20231218新增两个字段
    @Transient
    private Integer level;
    @Transient
    private Long experience;


    /** $column.columnComment */
    private Long id;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long videoId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long userId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String talk;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;
    private Long pid;
    private Long originId;
    private Long love;

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Long getExperience() {
        return experience;
    }

    public void setExperience(Long experience) {
        this.experience = experience;
    }

    public Long getReplyTotalCount() {
        return replyTotalCount;
    }

    public void setReplyTotalCount(Long replyTotalCount) {
        this.replyTotalCount = replyTotalCount;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Long getFollows() {
        return follows;
    }

    public void setFollows(Long follows) {
        this.follows = follows;
    }

    public Long getFans() {
        return fans;
    }

    public void setFans(Long fans) {
        this.fans = fans;
    }

    public String getTalkCopy() {
        return talkCopy;
    }

    public void setTalkCopy(String talkCopy) {
        this.talkCopy = talkCopy;
    }

//    public Integer getPageNum() {
//        return pageNum;
//    }
//
//    public void setPageNum(Integer pageNum) {
//        this.pageNum = pageNum;
//    }
//
//    public Integer getPageSize() {
//        return pageSize;
//    }
//
//    public void setPageSize(Integer pageSize) {
//        this.pageSize = pageSize;
//    }

    public String getCreatedAtChange() {
        return createdAtChange;
    }

    public void setCreatedAtChange(String createdAtChange) {
        this.createdAtChange = createdAtChange;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public List<Comment> getChildren() {
        return children;
    }

    public void setChildren(List<Comment> children) {
        this.children = children;
    }

    public String getTarget() {
        return target;
    }

    public void setTarget(String target) {
        this.target = target;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setVideoId(Long videoId)
    {
        this.videoId = videoId;
    }

    public Long getVideoId()
    {
        return videoId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setTalk(String talk)
    {
        this.talk = talk;
    }

    public String getTalk()
    {
        return talk;
    }
    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public Long getOriginId() {
        return originId;
    }

    public void setOriginId(Long originId) {
        this.originId = originId;
    }

    public Long getLove() {
        return love;
    }

    public void setLove(Long love) {
        this.love = love;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("videoId", getVideoId())
            .append("userId", getUserId())
            .append("talk", getTalk())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
                .append("pid",getPid())
                .append("originId",getOriginId())
                .append("love",getLove())
            .toString();
    }
}
